home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / comdem / commdemo.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1995-05-08  |  7.4 KB  |  223 lines

  1. VERSION 2.00
  2. Begin Form CommDemo 
  3.    BackColor       =   &H00C0C0C0&
  4.    BorderStyle     =   1  'Fixed Single
  5.    Caption         =   "Visual Basic Communication Demo"
  6.    ClientHeight    =   240
  7.    ClientLeft      =   1245
  8.    ClientTop       =   1770
  9.    ClientWidth     =   9090
  10.    FontBold        =   0   'False
  11.    FontItalic      =   0   'False
  12.    FontName        =   "MS Sans Serif"
  13.    FontSize        =   8.25
  14.    FontStrikethru  =   0   'False
  15.    FontTransparent =   0   'False
  16.    FontUnderline   =   0   'False
  17.    ForeColor       =   &H00000000&
  18.    Height          =   930
  19.    Icon            =   COMMDEMO.FRX:0000
  20.    Left            =   1185
  21.    LinkMode        =   1  'Source
  22.    LinkTopic       =   "Form1"
  23.    MaxButton       =   0   'False
  24.    ScaleHeight     =   240
  25.    ScaleWidth      =   9090
  26.    Top             =   1140
  27.    Width           =   9210
  28.    Begin Menu Menu_File 
  29.       Caption         =   "&File"
  30.       Begin Menu Menu_File_About 
  31.          Caption         =   "&About..."
  32.       End
  33.       Begin Menu Menu_File_Seperator 
  34.          Caption         =   "-"
  35.       End
  36.       Begin Menu Menu_File_Exit 
  37.          Caption         =   "E&xit"
  38.       End
  39.    End
  40.    Begin Menu Menu_Comm 
  41.       Caption         =   "&Communications"
  42.       Begin Menu Menu_Comm_Connect 
  43.          Caption         =   "&Connect"
  44.       End
  45.       Begin Menu Menu_Comm_Disconnect 
  46.          Caption         =   "&Disconnect"
  47.       End
  48.       Begin Menu Menu_Comm_Filler1 
  49.          Caption         =   "-"
  50.       End
  51.       Begin Menu Menu_Comm_Send_CRLF 
  52.          Caption         =   "&Send CR/LF for CR"
  53.       End
  54.    End
  55.    Begin Menu Menu_Settings 
  56.       Caption         =   "&Settings"
  57.       Begin Menu Menu_Settings_Port 
  58.          Caption         =   "&Port Settings..."
  59.       End
  60.       Begin Menu Menu_Settings_Line 
  61.          Caption         =   "&Line Settings..."
  62.       End
  63.       Begin Menu Menu_Settings_Event 
  64.          Caption         =   "&Event Settings..."
  65.       End
  66.    End
  67.    Begin Menu Menu_Windows 
  68.       Caption         =   "&Windows"
  69.       Enabled         =   0   'False
  70.       Begin Menu Menu_Window_Receive_Transmit 
  71.          Caption         =   "&Receive/Transmit Window..."
  72.       End
  73.    End
  74. Sub Form_Load ()
  75.     Initialize
  76.     Menu_Comm_Connect.Visible = True
  77.     Menu_Comm_Disconnect.Visible = False
  78.     offset = 200
  79.     CaptionLeft = offset
  80.     CaptionTop = offset
  81.     CaptionWidth = ScaleWidth - CaptionLeft - offset
  82.     CaptionHeight = TextHeight("qypgjXAQK") * 1.5
  83.     UpdateCaption " Ready", 0
  84.     Left = (Screen.width - width) / 2
  85.     top = Height - ScaleHeight
  86.     Height = top + CaptionTop + CaptionHeight + offset
  87. End Sub
  88. Sub Form_Paint ()
  89.     Draw3d CaptionLeft, CaptionTop, CaptionWidth, CaptionHeight, CommDemo
  90.     UpdateCaption CaptionText$, 0
  91. End Sub
  92. Sub Form_Unload (Cancel As Integer)
  93.     If CommHandle > -1 Then
  94.         Menu_Comm_Disconnect_click
  95.     End If
  96.     UpdateCaption " Terminating Communication Sampler II...", .5
  97. End Sub
  98. Sub Initialize ()
  99.     IndexTrans = 0
  100.     IndexReceive = 0
  101.     CommHandle = -1
  102.     CommDeviceNum = -1
  103.     ' Default Port Settings
  104.     CommPortName = "COM1:"
  105.     CommState.BaudRate = 9600
  106.     CommState.ByteSize = Chr$(8)
  107.     CommState.Parity = Chr$(0)
  108.     CommState.StopBits = Chr$(0)
  109.     ' Default Line Settings
  110.     CommRBBuffer = 2048
  111.     CommTBBuffer = 2048
  112.     CommState.RlsTimeOut = 0
  113.     CommState.CtsTimeOut = 0
  114.     CommState.DsrTimeOut = 0
  115.     CommEventMask = &H3FF
  116.     CommReadInterval = 500
  117.     ' Post-Poned settings
  118.     PostRBBuffer = CommRBBuffer
  119.     PostTBBuffer = CommTBBuffer
  120.     PostEventMask = CommEventMask
  121.     PostState = CommState
  122.     PostReadInterval = CommReadInterval
  123.     PostPortName = CommPortName
  124. End Sub
  125. Sub Menu_Comm_Connect_Click ()
  126.     UpdateCaption " Opening Comm Port... " + CommPortName, .5
  127.     CommTBBuffer = PostTBBuffer
  128.     CommRBBuffer = PostRBBuffer
  129.     CommPortName = PostPortName
  130.     CommHandle = OpenComm(CommPortName, CommRBBuffer, CommTBBuffer)
  131.     If CommHandle = -2 Then
  132.         result% = MsgBox("Port already Open!" + Chr$(13) + "Do you want to use it anyway ?", 4 + 16 + 256, "Communication Sampler II")
  133.         
  134.         If result% = 6 Then
  135.             ApiErr% = CloseComm(0)
  136.             CommHandle = OpenComm(CommPortName, CommRBBuffer, CommTBBuffer)
  137.         End If
  138.     End If
  139.     If CommHandle < 0 Then
  140.         UpdateCaption " OpenComm() API Failed! (ERR " + Str$(CommHandle) + ")", .5
  141.     Else
  142.         Menu_Windows.enabled = True
  143.         Menu_Window_Receive_Transmit.Checked = True
  144.         Receive.Show
  145.         
  146.         CommEventMask = PostEventMask
  147.         CommDeviceNum = Val(Mid$(CommPortName, 4, 1))
  148.         ApiErr% = SetCommEventMask(CommHandle, CommEventMask)
  149.         PostState = CommState
  150.         CommState.Id = Chr$(CommHandle)
  151.         ApiErr% = SetCommState(CommState)
  152.         Menu_Comm_Connect.Visible = Menu_Comm_Disconnect.Visible
  153.         Menu_Comm_Disconnect.Visible = Not Menu_Comm_Connect.Visible
  154.         UpdateCaption " Commuications Port Opened...", .5
  155.         DisplayQBOpen CommState, CommPortName, CommRBBuffer, CommTBBuffer, CommReadInterval
  156.         CommReadInterval = PostReadInterval
  157.         Receive.Receive_Timer.interval = CommReadInterval
  158.     End If
  159. End Sub
  160. Sub Menu_Comm_Disconnect_click ()
  161.     UpdateCaption " Closing Communication Port...", 0
  162.     Receive.Receive_Timer.interval = 0
  163.     ApiErr% = CloseComm(CommHandle)
  164.     CommHandle = -1
  165.     CommDeviceNum = -1
  166.     Menu_Comm_Disconnect.Visible = Menu_Comm_Connect.Visible
  167.     Menu_Comm_Connect.Visible = Not Menu_Comm_Disconnect.Visible
  168.     Menu_Windows.enabled = False
  169.     Unload Receive
  170.     UpdateCaption " Ready", 0
  171. End Sub
  172. Sub Menu_Comm_Send_CRLF_Click ()
  173.     Menu_Comm_Send_CRLF.Checked = Not Menu_Comm_Send_CRLF.Checked
  174. End Sub
  175. Sub Menu_File_About_Click ()
  176.     UpdateCaption " Loading Dialog...", 0
  177.     AboutDlg.Show 1
  178.     If Menu_Comm_Connect.Visible = True Then
  179.         UpdateCaption " Ready ", 0
  180.     Else
  181.         UpdateCaption " Communication Port Open...", 0
  182.     End If
  183. End Sub
  184. Sub Menu_File_Exit_Click ()
  185.     Unload CommDemo
  186. End Sub
  187. Sub Menu_Settings_Event_Click ()
  188.     UpdateCaption " Loading Dialog...", 0
  189.     EventDlg.Show 1
  190.     If Menu_Comm_Connect.Visible = True Then
  191.         UpdateCaption " Ready ", 0
  192.     Else
  193.         UpdateCaption " Communication Port Open...", 0
  194.     End If
  195. End Sub
  196. Sub Menu_Settings_Line_Click ()
  197.     UpdateCaption " Loading Dialog...", 0
  198.     LineDlg.Show 1
  199.     If Menu_Comm_Connect.Visible = True Then
  200.         UpdateCaption " Ready ", 0
  201.     Else
  202.         UpdateCaption " Communication Port Open...", 0
  203.     End If
  204. End Sub
  205. Sub Menu_Settings_Port_Click ()
  206.     UpdateCaption " Loading Dialog...", 0
  207.     PortDlg.Show 1
  208.     If Menu_Comm_Connect.Visible = True Then
  209.         UpdateCaption " Ready ", 0
  210.     Else
  211.         UpdateCaption " Communication Port Open...", 0
  212.     End If
  213. End Sub
  214. Sub Menu_Window_Receive_Transmit_Click ()
  215.     Menu_Window_Receive_Transmit.Checked = Not Menu_Window_Receive_Transmit.Checked
  216.     If Menu_Window_Receive_Transmit.Checked = True Then
  217.         Receive.Show
  218.         Receive.Receive_Timer.interval = CommReadInterval
  219.     Else
  220.         Receive.Hide
  221.     End If
  222. End Sub
  223.